package it.ap.sa.acqua.dao.model;
// Generated 23-ago-2017 17.05.29 by Hibernate Tools 4.3.1.Final

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;

import org.hibernate.annotations.Cache;
import org.hibernate.annotations.CacheConcurrencyStrategy;
import org.hibernate.annotations.DynamicUpdate;
import org.hibernate.annotations.GenericGenerator;
import org.hibernate.annotations.Parameter;

/**
 * TFish generated by hbm2java
 */
@DynamicUpdate
@Cache(region = "it.eng.db.TFish", usage = CacheConcurrencyStrategy.READ_WRITE)
@Entity
@Table(name = "t_fish", schema = "public")
public class TFish implements java.io.Serializable {

	private Long id;

	private String commonName;

	private String scientificName;

	private String synonymous;

	private Long idFamily;

	private String originZone;

	private String origin;

	private Long maxLength;

	private Long tankMinLength;

	private Long tankMinVolume;

	private Double temperatureMin;

	private Double temperatureMax;

	private Double phMin;

	private Double phMax;

	private Double ghMin;

	private Double ghMax;

	private String waterFlow;

	private String tankLevel;

	private String description;

	private String temperament;

	private String careLevel;

	private String acquariumType;

	private String diet;

	private Long minNumber;

	public TFish() {
	}

	public TFish(String commonName, String scientificName, String synonymous, Long idFamily, String originZone,
			String origin, Long maxLength, Long tankMinLength, Long tankMinVolume, Double temperatureMin,
			Double temperatureMax, Double phMin, Double phMax, Double ghMin, Double ghMax, String waterFlow,
			String tankLevel, String description, String temperament, String careLevel, String acquariumType,
			String diet, Long minNumber) {
		this.commonName = commonName;
		this.scientificName = scientificName;
		this.synonymous = synonymous;
		this.idFamily = idFamily;
		this.originZone = originZone;
		this.origin = origin;
		this.maxLength = maxLength;
		this.tankMinLength = tankMinLength;
		this.tankMinVolume = tankMinVolume;
		this.temperatureMin = temperatureMin;
		this.temperatureMax = temperatureMax;
		this.phMin = phMin;
		this.phMax = phMax;
		this.ghMin = ghMin;
		this.ghMax = ghMax;
		this.waterFlow = waterFlow;
		this.tankLevel = tankLevel;
		this.description = description;
		this.temperament = temperament;
		this.careLevel = careLevel;
		this.acquariumType = acquariumType;
		this.diet = diet;
		this.minNumber = minNumber;
	}

	@GenericGenerator(name = "generator", strategy = "org.hibernate.id.SequenceGenerator", parameters = @Parameter(name = "sequence", value = "sequence_id"))
	@Id
	@GeneratedValue(generator = "generator")

	@Column(name = "id", unique = true, nullable = false)
	public Long getId() {
		return this.id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	@Column(name = "common_name")
	public String getCommonName() {
		return this.commonName;
	}

	public void setCommonName(String commonName) {
		this.commonName = commonName;
	}

	@Column(name = "scientific_name")
	public String getScientificName() {
		return this.scientificName;
	}

	public void setScientificName(String scientificName) {
		this.scientificName = scientificName;
	}

	@Column(name = "synonymous")
	public String getSynonymous() {
		return this.synonymous;
	}

	public void setSynonymous(String synonymous) {
		this.synonymous = synonymous;
	}

	@Column(name = "id_family")
	public Long getIdFamily() {
		return this.idFamily;
	}

	public void setIdFamily(Long idFamily) {
		this.idFamily = idFamily;
	}

	@Column(name = "origin_zone")
	public String getOriginZone() {
		return this.originZone;
	}

	public void setOriginZone(String originZone) {
		this.originZone = originZone;
	}

	@Column(name = "origin")
	public String getOrigin() {
		return this.origin;
	}

	public void setOrigin(String origin) {
		this.origin = origin;
	}

	@Column(name = "max_length")
	public Long getMaxLength() {
		return this.maxLength;
	}

	public void setMaxLength(Long maxLength) {
		this.maxLength = maxLength;
	}

	@Column(name = "tank_min_length")
	public Long getTankMinLength() {
		return this.tankMinLength;
	}

	public void setTankMinLength(Long tankMinLength) {
		this.tankMinLength = tankMinLength;
	}

	@Column(name = "tank_min_volume")
	public Long getTankMinVolume() {
		return this.tankMinVolume;
	}

	public void setTankMinVolume(Long tankMinVolume) {
		this.tankMinVolume = tankMinVolume;
	}

	@Column(name = "temperature_min", precision = 17, scale = 17)
	public Double getTemperatureMin() {
		return this.temperatureMin;
	}

	public void setTemperatureMin(Double temperatureMin) {
		this.temperatureMin = temperatureMin;
	}

	@Column(name = "temperature_max", precision = 17, scale = 17)
	public Double getTemperatureMax() {
		return this.temperatureMax;
	}

	public void setTemperatureMax(Double temperatureMax) {
		this.temperatureMax = temperatureMax;
	}

	@Column(name = "ph_min", precision = 17, scale = 17)
	public Double getPhMin() {
		return this.phMin;
	}

	public void setPhMin(Double phMin) {
		this.phMin = phMin;
	}

	@Column(name = "ph_max", precision = 17, scale = 17)
	public Double getPhMax() {
		return this.phMax;
	}

	public void setPhMax(Double phMax) {
		this.phMax = phMax;
	}

	@Column(name = "gh_min", precision = 17, scale = 17)
	public Double getGhMin() {
		return this.ghMin;
	}

	public void setGhMin(Double ghMin) {
		this.ghMin = ghMin;
	}

	@Column(name = "gh_max", precision = 17, scale = 17)
	public Double getGhMax() {
		return this.ghMax;
	}

	public void setGhMax(Double ghMax) {
		this.ghMax = ghMax;
	}

	@Column(name = "water_flow")
	public String getWaterFlow() {
		return this.waterFlow;
	}

	public void setWaterFlow(String waterFlow) {
		this.waterFlow = waterFlow;
	}

	@Column(name = "tank_level")
	public String getTankLevel() {
		return this.tankLevel;
	}

	public void setTankLevel(String tankLevel) {
		this.tankLevel = tankLevel;
	}

	@Column(name = "description")
	public String getDescription() {
		return this.description;
	}

	public void setDescription(String description) {
		this.description = description;
	}

	@Column(name = "temperament")
	public String getTemperament() {
		return this.temperament;
	}

	public void setTemperament(String temperament) {
		this.temperament = temperament;
	}

	@Column(name = "care_level")
	public String getCareLevel() {
		return this.careLevel;
	}

	public void setCareLevel(String careLevel) {
		this.careLevel = careLevel;
	}

	@Column(name = "acquarium_type")
	public String getAcquariumType() {
		return this.acquariumType;
	}

	public void setAcquariumType(String acquariumType) {
		this.acquariumType = acquariumType;
	}

	@Column(name = "diet")
	public String getDiet() {
		return this.diet;
	}

	public void setDiet(String diet) {
		this.diet = diet;
	}

	@Column(name = "min_number")
	public Long getMinNumber() {
		return this.minNumber;
	}

	public void setMinNumber(Long minNumber) {
		this.minNumber = minNumber;
	}

	/**
	 * toString
	 * @return String
	 */
	public String toString() {
		StringBuffer buffer = new StringBuffer();

		buffer.append(getClass().getName()).append("@").append(Integer.toHexString(hashCode())).append(" [");
		buffer.append("id").append("='").append(getId()).append("' ");
		buffer.append("commonName").append("='").append(getCommonName()).append("' ");
		buffer.append("scientificName").append("='").append(getScientificName()).append("' ");
		buffer.append("synonymous").append("='").append(getSynonymous()).append("' ");
		buffer.append("idFamily").append("='").append(getIdFamily()).append("' ");
		buffer.append("originZone").append("='").append(getOriginZone()).append("' ");
		buffer.append("origin").append("='").append(getOrigin()).append("' ");
		buffer.append("maxLength").append("='").append(getMaxLength()).append("' ");
		buffer.append("tankMinLength").append("='").append(getTankMinLength()).append("' ");
		buffer.append("tankMinVolume").append("='").append(getTankMinVolume()).append("' ");
		buffer.append("temperatureMin").append("='").append(getTemperatureMin()).append("' ");
		buffer.append("temperatureMax").append("='").append(getTemperatureMax()).append("' ");
		buffer.append("phMin").append("='").append(getPhMin()).append("' ");
		buffer.append("phMax").append("='").append(getPhMax()).append("' ");
		buffer.append("ghMin").append("='").append(getGhMin()).append("' ");
		buffer.append("ghMax").append("='").append(getGhMax()).append("' ");
		buffer.append("waterFlow").append("='").append(getWaterFlow()).append("' ");
		buffer.append("tankLevel").append("='").append(getTankLevel()).append("' ");
		buffer.append("description").append("='").append(getDescription()).append("' ");
		buffer.append("temperament").append("='").append(getTemperament()).append("' ");
		buffer.append("careLevel").append("='").append(getCareLevel()).append("' ");
		buffer.append("acquariumType").append("='").append(getAcquariumType()).append("' ");
		buffer.append("diet").append("='").append(getDiet()).append("' ");
		buffer.append("minNumber").append("='").append(getMinNumber()).append("' ");
		buffer.append("]");

		return buffer.toString();
	}

}
